User interface for host port assignment

ABSTRACT

In a storage management interface to manage host ports in a computing system having a server and one or more hosts, a user interface is provided to facilitate assigning host ports to an associated host. In one embodiment, the user interface detects unassigned host ports which have not been identified as being assigned to an associated host, and generates a graphical user interface (GUI) page indicating unassigned host ports. User selection of at least one of the unassigned host ports indicated in the GUI page is received as well as user selection of a host to assign to the selected unassigned host ports. Once the assignment is completed, data structures storing host port assignment configuration data are updated to indicate the host assigned to the selected host ports.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a computer program product, system, andmethod for a storage management interface.

2. Description of the Related Art

In a storage environment, a storage controller also often referred to asa server, typically receives input/output (I/O) instructions from a hostto write data to or read data from data storage units controlled by thestorage controller. The hosts and the storage controller frequentlycommunicate with each other through host ports through which signalpaths between the various hosts and the storage controller pass. Aconnection fabric often provides the connections between the hosts andthe host ports. The connections of the connection fabric may beconfigurable by appropriate settings of switches or other devices toconnect specific hosts to specific host ports. Other types of connectionfabrics may have fixed paths to connect specific hosts to specific hostports.

The data is frequently stored in the storage units in units of dataoften referred to as a “storage volume.” Each storage volume istypically assigned one or more host ports. The assignments of specificstorage volumes to specific host posts may be represented by a volume tohost port mapping. The mapping of a storage volume to a host portpermits data read from that volume to be transferred through the hostport to which it is mapped. If a host is assigned to a host port whichis mapped to the storage volume, the host may receive the read datathrough the host port mapped to the storage volume. Conversely, themapping of a storage volume to a host port permits write data from ahost assigned to a host port which is mapped to the storage volume, tobe transferred through the host port to which the storage volume ismapped.

A storage controller is typically configured and administered by a userthrough a storage management system operating on the storage controller.Such management systems typically includes a user interface such as agraphical user interface (GUI) which facilitates such configuration andadministration. In one type of such management system, the managementsystem maintains in a database, system configuration data identifyingwhich storage volume (or groups of storage volumes) are mapped to aparticular host port, but often do not maintain system configurationdata identifying which storage volume or host port is connected to whichhost. Other types of management systems for storage controllers maintainboth types of system configuration data, not only system configurationdata identifying which storage volume (or groups of storage volumes) ismapped to a particular host port, but are also capable of maintainingsystem configuration data identifying which storage volume or host portis connected to which host. Accordingly, if a user migrates from the onetype to the other type of management system, system configuration dataidentifying which storage volume or host port is connected to which hostmay not have been maintained by the prior management system.

SUMMARY

In one embodiment of a storage management system employing a managementinterface in accordance one aspect of the present description, a userinterface is provided to facilitate assigning host ports to anassociated host in a computing system having a server and one or morehosts. In one aspect, the user interface detects unassigned host portswhich have not been identified as being assigned to an associated host,and generates a graphical user interface (GUI) page indicatingunassigned host ports. User selection of at least one of the unassignedhost ports indicated in the GUI page is received as well as userselection of a host, to assign to the selected unassigned host ports.Once the assignment is completed, data structures storing host portassignment configuration data are updated to indicate the host assignedto the selected host ports.

In one aspect, in response to the detecting of unassigned host ports, auser is invited to assigned unassigned host ports. In one embodiment,the invitation is in the form of a pop-up window which interrupts use ofthe storage management interface by the user.

In another aspect, the invitation is in the form of a message on a GUIpage for managing hosts, wherein the message indicates that host portsremain unassigned and invites a user to assigned unassigned host ports.

Other features and aspects are described.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a storage environment.

FIG. 2 illustrates an example of mappings of storage volumes to hostports.

FIG. 3 illustrates an embodiment of operations of storage managementsystem employing a management interface in accordance one aspect of thepresent description.

FIG. 4 illustrates a more detailed embodiment of operations of FIG. 3.

FIG. 5 illustrates an embodiment of an invitation to update host portassignments in a host port assignment interface of a managementinterface in accordance one aspect of the present description.

FIG. 6 illustrates another embodiment of an invitation to update hostport assignments in a host port assignment interface of a managementinterface in accordance one aspect of the present description.

FIG. 7 illustrates yet another embodiment of an invitation to updatehost port assignments in a host port assignment interface of amanagement interface in accordance one aspect of the presentdescription.

FIG. 8 illustrates an embodiment of a host port assignment interface ofa management interface in accordance one aspect of the presentdescription, listing unassigned host ports.

FIG. 9 illustrates an embodiment of a host port assignment interface ofa management interface in accordance one aspect of the presentdescription, indicating unassigned host ports selected for assignment toa host.

FIG. 10 illustrates an embodiment of a host port assignment interface ofa management interface in accordance one aspect of the presentdescription, for adding a representation of a host to the host portassignment interface.

FIG. 11 illustrates an embodiment of a host port assignment interface ofa management interface in accordance one aspect of the presentdescription, listing currently identified hosts of the host portassignment interface.

FIG. 12 illustrates an embodiment of a host port assignment interface ofa management interface in accordance one aspect of the presentdescription, providing an informational warning message of the host portassignment interface.

FIG. 13 illustrates an embodiment of a host port assignment interface ofa management interface in accordance one aspect of the presentdescription, in which assigned host ports have been removed from thelisting indicating unassigned host ports available for selection forassignment to a host.

FIG. 14 illustrates an embodiment of a computing system employing a hostport assignment interface of a management interface in accordance oneaspect of the present description.

DETAILED DESCRIPTION

One aspect of the present description provides a management interface,such as a graphical user interface, for example, for a storagemanagement system for a server, which can facilitate migration from anearlier generation of a storage management system. For example, aspreviously mentioned, some earlier generation storage management systemsoften do not maintain system configuration data identifying whichstorage volume (or group of storage volumes) or host port is assigned towhich host. Other types of storage management systems for serversmaintain both types of system configuration data, not only systemconfiguration data identifying which storage volume (or group of storagevolumes) is mapped to a particular host port, but are also capable ofmaintaining system configuration data identifying which storage volume(or group of storage volumes) or host port is connected to which host.

As explained in greater detail below, a storage management systememploying a management interface in accordance with the presentdescription, can facilitate obtaining system configuration dataidentifying assignments of host ports to hosts. Accordingly, migrationfrom an earlier generation storage management system to one which canmaintain system configuration data identifying which storage volume (orgroup of storage volumes) or host port is connected to which host, maybe facilitated. Other aspects may be realized, depending upon theparticular application.

FIG. 1 illustrates one embodiment of a storage environment 10 employinga management interface for host port assignment in accordance with thepresent description. The environment 10 includes a computing systemincluding a server 12 and a plurality of hosts as represented by thehosts, host1, host2, etc. Although the drawing of FIG. 1 depicts twosuch hosts for simplicity sake, it is appreciated that a storageenvironment may have a fewer or greater number of hosts, depending uponthe particular application. Moreover, although a management interfacefor host port assignment in accordance with the present description, isdescribed in connection with hosts, it is appreciated that a managementinterface for host port assignment in accordance with the presentdescription is also applicable to assigning host ports to hosts whichare treated as a group of hosts often referred to as host clusters.

The server 12 may comprise a modified version of an enterprise storagecontroller/server suitable for managing access to attached storagedevices, such as, but not limited to, the International Business MachineCorporation's (“IBM”) DS8000® storage system or other vendor storageservers known in the art. (DS8000 is a registered trademark of IBM incountries throughout the world). The server 12 is modified to provide astorage management system employing a management interface in accordancewith the present description.

A connection fabric 14 interconnects specific hosts to specific hostports, hostport1, hostport2, hostport3, hostport4, etc., of the server12, which have been assigned to the specific hosts, Thus, host portshostport1 and hostport2 may be assigned to host1 and host portshostport3 and hostport4 may be assigned to host2, for example. Theconnection fabric 14 includes various connection devices for connectingeach host port to its assigned host so that there is a signal pathconnecting a host port to its assigned host. Such connection devices mayinclude cables including wire or fiber optic cables, switches, wirelesstransmitters and receivers, busses, networks, routers etc., dependingupon the particular application. A signal path between a host port andits assigned host is typically achieved by configuring appropriateconnection devices. Such configuration may be done physically or throughappropriate software, depending upon the particular application. It isappreciated that a host may be assigned to more than one host port andin some applications, a host port may be assigned to more than one host.

The server 12 includes a storage controller 18 which controls one ormore data storage units such as disk drives, tape storage, solid statememory, etc., a As explained in greater detail below, the storagecontroller 18 includes a storage management system 22 employing anembodiment of a management interface 24 having a host port assignmentinterface 26 in accordance with the present description. The storagemanagement system 22 provides for configuring and administering thestorage controller 18 and the storage volumes volume1-volume4. Thestorage management system 22 maintains a database 50 which includes datastructures 60 which store the system configuration data obtained throughthe host port assignment interface 26 for identifying host portassignments to the associated hosts.

Data is stored within a data storage unit as units of data which may bestorage volumes, for example. Storage volumes may also be grouped in agroup of storage volumes and treated as a group for mapping and othermanagement purposes. Other examples of units of data stored within adata storage unit are tracks, cylinders, allocation units, extents, etc.Such data units are represented in FIG. 1 as storage volume1, storagevolume2, storage volume3, storage volume4, etc. Although the storageenvironment of FIG. 1 is depicted as including four such storage volumesfor simplicity, it is appreciated that a storage environment may havemore or fewer such data units, depending upon the particularapplication. Moreover, although the data units are depicted as storagevolumes, it is appreciated that other types of data units may beutilized in a user interface for host port assignment in accordance withthe present description.

A connection fabric 70 interconnects storage controller 18 to thestorage volumes volume1-volume4 of the data storage units. Similarly, aconnection fabric 74 interconnects storage controller 18 to the hostports hostport1-hostport4 so that there are signal paths connecting thestorage controller to each of the host ports hostport1-hostport4. Theconnection fabric 70, like the connection fabric 14 includes variousconnection devices for connecting the storage controller to each storagevolume volume1-volume4. Similarly, the connection fabric 74 includesvarious connection devices for connecting the storage controller to eachhost port hostport1-hostport4 so that there are signal paths connectingthe storage controller to each host port hostport1-hostport4. Suchconnection devices again, may include cables including wire or fiberoptic cables, switches, wireless transmitters and receivers, busses,networks, routers etc., depending upon the particular application. Asignal path between the storage controller and a host port or storagevolume is typically achieved by configuring appropriate connectiondevices. Such configuration may be done physically or throughappropriate software, depending upon the particular application.

One or more of the connection fabrics 14, 70, 74 may comprise a StorageArea Network (SAN), Local Area Network (LAN), Intranet, the Internet,Wide Area Network (WAN), peer-to-peer network, wireless network,arbitrated loop network, etc. The storage volumes are stored in storageunits which may each be implemented in one or more storage devices, oran array of storage devices configured as Just a Bunch of Disks (JBOD),Direct Access Storage Device (DASD), Redundant Array of IndependentDisks (RAID) array, virtualization device, tape storage, flash memory,etc. The storage devices may comprise hard disk drives, solid statestorage device (SSD) comprised of solid state electronics, EEPROM(Electrically Erasable Programmable Read-Only Memory), flash memory,flash disk, Random Access Memory (RAM) drive, storage-class memory(SCM), etc., Phase Change Memory (PCM), resistive random access memory(RRAM), spin transfer torque memory (STM-RAM), conductive bridging RAM(CBRAM), magnetic hard disk drive, optical disk, tape, etc. Although acertain number of instances of elements, such as secondary servers,secondary storages, active and suspended copy relationships, etc., areshown, there may be any number of these components.

As previously mentioned, storage management systems frequently maintainsystem configuration data identifying which storage volume (or group ofstorage volumes) is mapped to which host port. In the embodiment of FIG.1, system configuration data identifying mappings of a storage volume(or group of storage volumes) to host ports may be maintained in thedatabase 50 maintained by the storage management system 22.

FIG. 2 depicts one example of such a mapping between storage volumes andhost ports. Thus, in the example of FIG. 2, the storage volume1 isdepicted as being mapped to both host port hostport1 and host porthostport2. Accordingly, appropriate signal paths are provided by thestorage controller and the connection fabrics so that write data fromhost port hostport1 can be directed to storage volume 1, and conversely,read data from storage volume1 can be directed to host port hostport1,for example. Signal paths are similarly provided between storage volume1and host port hostport2 to which storage volume1 has also been mapped.However, because storage volume1 has not been mapped to other host portssuch as host port hostport3 or host port hostport4 in this example,signal paths between storage volume1 and host port hostport3 or hostport hostport4 are not provided. Hence, the storage environment has notbeen configured for data transfers between storage volume1 and the hostports hostport3 and hostport4.

In the event that host port hostport1 fails, for example, it is notedthat storage volume1 would still be able to communicate with host porthostport2 to which storage volume1 is also mapped. However, in thoseprior generation storage management systems which do not maintain systemconfiguration data identifying to which host or hosts particular hostports have been interconnected, it may not be readily apparent to thestorage management system or an administrator using the managementsystem, the specific host to which storage volume1 continues to have adata path notwithstanding the failure of host port hostport1.

To avoid such problems, a storage management system may be acquired by auser, which has (or may be upgraded to have) the capability of storingsystem configuration data identifying to which host or hosts, each hostport has been assigned. Thus, if the storage management system containssystem configuration data identifying that host port hostport1 has beenassigned to host1, for example, the storage management system canindicate that failure of host port hostport1 has caused loss of the datapath from storage volume1 to host1 via host port hostport1.

In accordance with one aspect of the present description, the host portassignment interface 26 (FIG. 1) facilitates the entry into the storagemanagement system 22, of system configuration data identifying whichhost or hosts, each host port has been assigned. FIGS. 3, 4 depictexamples of operations of a host port assignment interface such as thehost port assignment interface 26 of the management interface 24 of thestorage management system 22, for obtaining host port assignmentconfiguration data in accordance with the present description. Such hostport assignment configuration data obtained through the host portassignment interface 26 (FIG. 1), and identifying which host or hosts,each host port has been assigned, may be stored in suitable host portassignment configuration data structures 60.

The host port assignment interface operations depicted in FIGS. 3, 4 maybe performed by at least one of or a combination of at least two ofhardware, software, or firmware. In one embodiment, the host portassignment interface 26 is a part of the storage management system 22for the storage controller 18. It is appreciated that one or more of theoperations of the host port assignment interface may be performed byhardware, software, firmware or combinations thereof in other devices,in whole or in part, such as one or more of the hosts, depending uponthe particular application.

In one operation, a determination (block 304, FIG. 3) is made as towhether the system configuration data stored by the management systemfor the server identifies host ports but does not identify the hostassigned to one or more host ports identified by the systemconfiguration data. If the management system such as the storagemanagement system 22, for example, detects (block 304) (as indicated bythe system configuration data stored in the host port assignment datastructures 60) that there are host ports which have not been assigned toa host, that is, remain “unassigned,” the host port assignment interfaceof the management system invites (block 308) the user to assign theunassigned host ports to a host.

For example, the host ports identified by the system configuration datamay have in fact been connected by a connection fabric to an associatedhost but the management system has not yet been informed of thatconnection. Alternatively, host ports may have been added to the storageenvironment but have in fact not yet been connected to any host. Hostports assignments to a host that have not been entered through the hostport assignment interface 26, are unknown to the host port assignmentinterface 26, and are referred to herein as “unassigned” host portswhether or not an “unassigned” host port may have in fact already beenconnected to a host by a data path. Thus, host ports having no data pathconnections to a host, and host ports having data path connections to ahost, which are unknown to the system management, are both referred toherein as “unassigned” host ports since, insofar as the host assignmentinterface 26 is concerned, the host ports having no data pathconnections or an unknown data path connection to a host, are considered“unassigned.”

FIG. 5 shows an example of an invitation (block 308, FIG. 3) by the hostport assignment interface to a user to assign unassigned host ports. Inthis example, the management interface 24 and the host port assignmentinterface 26 generate a graphical user (GUI) interface which includesvarious GUI display elements displayed on a display 502 (FIG. 5),including GUI windows and pages, for example. Displayed within windowsand pages are various other GUI display elements including tabs, displayindicia and virtual input buttons for users. Accordingly, the invitation(block 308, FIG. 3) to a user to assign unassigned host ports, in thisembodiment is a prompt in the form of a pop-up window 510 of the hostport assignment GUI of the interface 26 (FIG. 1). In this embodiment,the pop-up window prompt 510 is automatically given to the user by thehost port assignment interface 26 when both 1) the user first enters ahost configuration page 514 overlaying a host page 516 of the systemmanagement GUI of the management interface 24, and 2) unassigned hostports have been detected (block 304, FIG. 3). The host configurationpage 514 and the underlying host page 516 of the system management GUIof the management interface 24 receive various user inputs and displayvarious data concerning the hosts including host configuration data.

The host port assignment interface receives (block 312) user inputsindicating whether the user accepts the invitation (block 308) to assignunassigned ports to one or more hosts. In the embodiment of FIG. 5, thepop-up window prompt 510 of the host port assignment GUI includes avirtual input button 518 which when “clicked” on by the user, accepts(block 312, FIG. 3) the invitation to initiate or resume the host portassignment process. As used herein, the term “clicked” refers to userselection by a suitable input device such as a touch screen or touch padinput device or pointing device, for example. The invitation acceptancebutton 518 displays invitation indicia 520 labeling the button 518 withinformational text such as “Update host port assignment” to invite theuser to begin or resume the processing of assigning host ports to hosts.The pop-up window prompt 510 may include further label indicia such asinformational indicia 524 providing helpful explanatory information tothe user concerning the host port assignment process. For example, theinformational indicia 524 may explain to the user that host portsconfigured outside the host port assignment interface 26 should beassigned to hosts.

In this embodiment, it is assumed by the system management interfacethat when a user enters the host configuration page 514 of the systemmanagement interface that the user is attempting to manage hosts. In oneembodiment, it is a condition of the storage management system 22 thathost ports must be assigned to hosts before volumes (or volume groups)can be mapped to hosts using the system management interface.Accordingly, the prompt window 510 is a very strong, that is, prominentprompt in this embodiment, occupying 5-30% of the host page 514.Further, the prompt window 510 pops-up automatically, interrupting theuser attempting to access the host configuration page 514. However, itis appreciated that in other embodiments, mapping of volumes (or volumegroups) may be permitted before the host ports are assigned to host.Also, the prominence of the prompt window 510 may vary, depending uponthe particular application.

In this embodiment, the user is given the option of rejecting (block312) the strong prompt pop-up window invitation 510 to assign unassignedhost ports. For example, the user may click on a virtual input button530 of the prompt window 510 displaying a label of suitable rejectionindicia 534 such as the term “cancel” which terminates (block 314, FIG.3) the current host port assignment process of the host port assignmentinterface. In this embodiment, if the user cancels the suggestedinitiation or resumption of the host port assignment task, the strongpop-up window prompt 510 is not displayed again as it is assumed thatthe user understands that the management system 22 (FIG. 1) isrecommending that the user update the host port assignment configurationdata.

In addition to the strong pop-up window prompt 510, the host portassignment GUI of the host port assignment interface 26 provides otheropportunities for the user to initiate or resume a host port assignmentprocess. For example, FIG. 6 shows indicia 610 indicating a table statusmessage displayed by the host port assignment GUI of the host portassignment interface 26 when the host configuration page 514 isaccessed. The table status message has indicia 610 alerting the userthat the user should update host assignments for unassigned host ports.In addition, informational indicia 624 provide helpful explanatoryinformation to the user concerning the host port assignment process. Forexample, the informational indicia 624 in a manner similar to theindicia 524 (FIG. 5) may explain to the user that host ports configuredoutside the host port assignment interface should be assigned to hosts.The indicia 610, 624 provide additional warning feedback to the userthat unassigned host ports should be assigned to the appropriate host.In this embodiment, the indicia 610, 624 are displayed in response todetection of unassigned host ports when the user accesses the hostconfiguration page 514. It is appreciated that such warning feedback maybe provided at other GUI pages of the host port assignment interface andthe system management interface such as pages concerning storagevolumes, for example. In a manner similar to the virtual input button518 (FIG. 5), the status message indicia 610 also functions as a virtualuser input button and an invitation (block 308, FIG. 3) to the user toinitiate or resume a host port assignment processes. Accordingly, whenthe status message indicia 610 is clicked on by the user, the host portassignment interface receives the user's acceptance (block 312, FIG. 3)of the invitation to initiate or resume the host port assignmentprocess.

In the illustrated embodiment, the host port assignment interface GUI ofthe host port assignment interface 26 provides yet another opportunityfor the user to initiate or resume a host port assignment process. Morespecifically, as best seen in FIG. 7, the host configuration page 514 ofthe management interface GUI of the management interface 24 includes atable having an unassigned host ports row 710 which is displayed ifunassigned host ports are detected (block 304, FIG. 3). The row 710includes indicia 712 such as the label “Unassigned Host Ports” forexample, indicating that the row 710 relates to unassigned host ports.In this embodiment, the unassigned host ports row 710 is a portion ofthe host ports assignment interface GUI of the interface 26.Accordingly, the user may then select as an action, initiating orresuming a host port assignment process. This may be done by, in oneembodiment, the user clicking on the unassigned host ports row 710,causing a virtual user input button 714 to appear which is similar tothe virtual button 518 of FIG. 5. By clicking the virtual input button714, the user accepts (block 312, FIG. 3) the invitation to initiate orresume the host port assignment process. The invitation acceptancebutton 714 displays invitation indicia 720 labeling the button 714 withindicia such as “Update host ports” to invite the user to begin orresume the processing of assigning host ports to hosts.

If the host port assignment interface receives (block 312, FIG. 3) theuser's acceptance of the invitation (block 308) to assign the unassignedhost ports to a host or hosts, the host port assignment interface GUIdisplays (block 316) a list of unassigned ports. FIG. 8 shows an exampleof such a list of host ports which are detected as being currentlyunassigned as indicated by the host port assignment configuration datastructures 60 (FIG. 1). In the embodiment of FIG. 8, the list ofunassigned host ports is indicated by indicia 810 of a host portassignment dialog pop-up window 814 of the host port assignment GUI. Thehost port assignment dialog window 814 includes indicia 818 which labelthe host port assignment dialog window 814 with a suitable informationallabel such as “Update ‘N’ Host Ports” where the variable N is replacedby the number of unassigned host ports detected. In the example of FIG.8, four host ports, Hostport1, Hostport2, Hostport3, Hostport4 have beendetected as unassigned and are listed by list entry indicia 810 a, 810b, 810 c, 810 d, respectively of the list entry indicia 810.Accordingly, the informational label indicia 818 in this example informsthe user to “Update 4 Host Ports”. It is appreciated that the number ofdetected unassigned ports may vary, depending upon the particularapplication. The host port list indicia 810 of this embodiment alsoinclude informational list header indicia 820 labeling the column oflist entry indicia 810 a, 810 b, 810 c, 810 d, as “Unassigned Ports”.

In another operation, the host port assignment GUI of the host portassignment interface, receives (block 320) a user selection of one ormore host ports of the displayed list of unassigned host ports, forassignment to an associated host. In the illustrated embodiment, each ofthe host port list entry indicia 810 a, 810 b, 810 c, 810 d alsofunctions as a user virtual input button, which when clicked on by theuser, selects the associated host port for host port assignment. It isappreciated that other display elements may be used to select adisplayed host port such as check boxes and check dots, for example.

The host port assignment interface displays (block 320, FIG. 3) anindication of which host ports of the list of unassigned host ports havebeen selected by the user for host port assignment. As shown in FIG. 9,selection of an unassigned host port for host port assignment isindicated by the host port assignment GUI by changing the backgroundcolor of the host port list entry indicia. Thus, in the example, of FIG.9, the unassigned host ports, hostport1, and hostport2, have beenselected by the user for host port assignment as indicated by the darkerbackground of the host port list entry indicia 810 a, 810 b as comparedto the lighter background of the host port list entry indicia 810 c, 810d for the unselected host ports, hostport3, hostport4. It is appreciatedthat selection of an unassigned host port for host port assignment maybe indicated in other techniques, depending upon the particularapplication. For example, check boxes or check dots may be filled in oroverlaid with a suitable character indicia such as a check mark, forexample.

In the embodiment of FIG. 8, the host port assignment pop-up dialogwindow 814 is triggered by the user accepting the host port assignmentinvitation via the user input button 518 (FIG. 5), the message userinput button 610 (FIG. 6) or the user input button 714 (FIG. 7).However, it is appreciated that other events in the system managementinterface 24 or host port assignment interface 26 may trigger a hostport assignment dialog window or page to conduct the host portassignment process.

In one embodiment, the selection of unassigned host ports for host portassignment is limited to host ports which the user knows belong to asingle host. Thus, in the illustrated example, the user knows that thehost ports, hostport1 and hostport2 belong to a single host, that is,data paths have been established between a single host and each of thehost ports, hostport1 and hostport2. It is appreciated that in otherembodiments, host ports may belong to more than one host, depending uponthe particular application.

In addition to the list of unassigned host ports as indicated by theindicia 810, the host port assignment pop-up dialog window 814 (FIG. 8)also displays (block 324, FIG. 3), a list of all the currently definedhosts of the storage environment, as indicated by host list indicia 824.However, in this embodiment, input functions of the host list indicia824 are disabled until the user selects one or more host ports forassignment to a host. In the embodiment of FIG. 8, such disablement ofthe input functions of the host list indicia 824 is indicated by greyingout the host list indicia 824. In addition, message indicia 830 providea warning and instructional message such as “No port selected. Pleaseselect a port or ports to assign” for example. It is appreciated that inother embodiments, disablement of input functions of the host listindicia 824 may be indicated by other modifications or additions to thehost list indicia 824. In further embodiments, input functions of thehost list indicia 824 may remain enabled before the user selects one ormore host ports for assignment to a host.

The host port assignment GUI of the host port assignment interfaceinvites (block 328) a user to add a host to the list of currentlydefined hosts. As previously mentioned, in this embodiment, inputfunctions of the host list indicia 824 are disabled until the userselects one or more host ports for assignment to a host. Once the userhas selected host ports for host port assignment as indicated for thehost ports hostport1, and hostport2 of FIG. 9, the host list indicia 824are enabled for input functions by the host port assignment interface.In the embodiment of FIG. 9, such enablement of the input functions ofthe host list indicia 824 is indicated by lack of greying out of thehost list indicia 824. In addition, a user input button 910 when clickedon by the user, initiates the process of adding a host to the list ofcurrently defined hosts as indicated by the display indicia 824. Theuser input button of the host port assignment pop-up dialog window 814has suitable label indicia such as “Add host”, for example, to indicateto the user the process initiated by activating the user input button910.

Once one or more host ports have been selected for host port assignment,the user has the option of either adding a new host or selecting acurrently defined host already present on the list of the indicia 824.In the example of FIG. 9, there are no currently defined hosts at thispoint as indicated by empty fields of the host list indicia 824.Accordingly, in this example, the user accepts (block 332. FIG. 3) theinvitation to add a host to the list of existing and currently definedhosts.

In response to the acceptance of the invitation to add a host, the hostport assignment interface receives (block 336, FIG. 3) appropriateidentification data identifying the host selected by the user. In theillustrated embodiment of FIG. 10, the host port assignment GUI of thehost port assignment interface displays a pop-up user input dialogwindow 1010 for the add a host process as indicated by window labelindicia 1014 which identify to the user, the purpose of the user inputdialog window 1010 as “Add Host.” Once the user input dialog window 1010is open as shown in FIG. 10, the user may input in a text input field1020 the name of the host to be added, as indicated by the label indicia1024 adjacent to the text input field 1020 for inputting the name of thehost to be added. In this example, the name of the host to be added isHost1 (FIG. 1). In addition, in this embodiment, the user may input inanother text input field 1028 the type of the host to be added, asindicated by the label indicia 1032 adjacent to the text input field1028 for inputting the type of the host to be added. For example, in oneembodiment, the user may input the operating system, such as AIX, orLinux, for example, to identify further the type of the host desired tobe added. It is appreciated that other information identifying the nameor characteristics of the host to be added, may be received as well, inaddition to or instead of those depicted in FIG. 10, depending upon theparticular application. By clicking on a user input button 1040 havingsuitable identification label indicia 1044 such as the term “Create” forexample, identifying to the user the function of the user input button1040, the user may signal to the host port assignment interface that thehost identification information entered through the user input dialogwindow 1010 is complete and may be received. In response to activationof the “Create” user input button 1040, the host port assignmentinterface receives the user inputted host identification data.

Once the host port assignment interface receives (block 336, FIG. 3)appropriate identification data identifying the host to be added, theidentified host may be tested (block 340) by the host port assignmentinterface for compatibility with the host ports which were selected bythe user in the manner described above in connection with FIG. 9. If itis determined (block 340) that the host to be added is not compatiblewith the selected host ports, the host port assignment interface in thisembodiment, issues a warning message (block 334, FIG. 3) to the userthat the host to be added is not compatible with the selected hostports. For example, if the operating system of the host to be added isdifferent from that of the operating system of the selected host ports,the host to be added may be deemed to be incompatible with the selectedhost ports. Notwithstanding, that the host to be added is tested to beincompatible with the selected host ports, the host port assignmentinterface, in the illustrated embodiment, nonetheless permits the hostto be added (block 348). Thus, in this embodiment, the host identifiedby the user as to be added, may be added (block 348) whether or not thehost to be added is compatible with the host ports selected for hostport assignment.

Conversely, if the user decides not to complete the proposed add a hostprocess, the user may click on a “Cancel” input button 1046 havingsuitable informational text indicia 1048 such as the text “Cancel”, forexample, to indicate to the user the add a host process will beterminated by activating the user input button 1046. Alternatively, theuser may click on the “X” window feature 1052 to cancel the add a hostprocess. If the host port assignment interface receives (block 332, FIG.3) an instruction to cancel rather than complete the proposed add a hostprocess, the proposed add a host port process is cancelled the user isinvited to continue (block 352) the host port assignment process.

FIG. 11 shows the state of the host port assignment pop-up dialog window814 once a host has been added, in this example, Host1. As previouslymentioned, the host port assignment interface displays (block 324, FIG.3), a list of all the currently defined hosts of the storageenvironment, as indicated by host list indicia 824. Thus, in the exampleof FIG. 11, the host list indicia 824 includes a host list entry indicia824 a indicating that host Host1 is currently identified as a host inthe storage environment.

In the illustrated embodiment, each host list entry indicia includesseveral fields including a host name field as indicated by host nameindicia 1110, host type indicia 1114, and host ports indicia 1118. Thus,in the example of FIG. 11, the host list entry indicia 824 a indicatethat the added host is named Host1 as indicated by text indicia 1110 a,is of a type AIX as indicated by text indicia 1128 a and currently haszero host ports (as indicated by text indicia 1118 a) assigned to it bythe host port assignment interface.

If the user declines (block 332, FIG. 3) to add any further hosts inresponse to the invitation (block 328) and the display (block 324) ofthe currently identified hosts, the host port assignment interfacereceives (block 352) the user's selection of a host to be assigned tothe selected unassigned host ports.

In the illustrated embodiment, each of the host list entry indicia 824 aalso function as a user input button in a manner similar to that of thehost port list entry indicia 810 a, 810 b, 810 c, 810 d. Thus, when thehost list entry indicia 824 a is clicked on by the user, the userselects the associated host for assignment to the selected unassignedhost ports. It is appreciated that other display elements may be used toselect a displayed host such as check boxes and check dots, for example.

The host port assignment interface displays (block 352, FIG. 3) anindication of which hosts of the list of currently identified hosts hasbeen selected by the user for host port assignment. In a manner similarto that shown in FIG. 9 for host port selection, selection of acurrently identified host for host port assignment is indicated by thehost port assignment GUI by changing the background color of the hostlist entry indicia. Thus, in the example, of FIG. 11, the currentlyidentified host Host1 may be selected by the user for host portassignment and indicated as such by, for example, a darker background ofthe host list entry indicia 824 a as compared to a lighter background ofa host list entry indicia for an unselected host. It is appreciated thatselection of a currently identified host for host port assignment may beindicated in other techniques, depending upon the particularapplication. For example, check boxes or check dots may be filled in oroverlaid with a suitable character indicia such as a check mark, forexample.

Upon receiving the user's selection of a host for host port assignmentto the selected host ports, the proposed host port assignment ofselected host ports to the selected host may be tested (block 356, FIG.3). FIG. 4 shows examples of the tests of block 356, FIG. 3 in greaterdetail. As shown in FIG. 4, in a manner similar to that discussed abovefor an added host, the selected host may be tested (block 460) by thehost port assignment interface for compatibility with the host portswhich were selected by the user. For example, if the operating system ofthe selected host is determined (block 460) to be different from that ofthe operating system of the selected host ports, the selected host maybe deemed to be incompatible with the selected host. Accordingly, if itis determined (block 460) that the selected host is not compatible withthe selected host ports, the host port assignment interface in thisembodiment, rejects (block 364, FIG. 3) the proposed host portassignment.

Returning to FIG. 3, the host port assignment interface followingrejection of a proposed host port assignment, permits the user to selectdifferent host ports (block 320), add a host (block 328), or select adifferent host (block 352) for host port assignment and tests again(block 356). In addition, if the selected host was found not to becompatible (block 460, FIG. 4) with the selected host ports, and inaddition, no added host was found to be compatible (block 340, FIG. 3)with the selected host ports, a warning informational message providedby informational indicia 920 (FIG. 9) indicates to the user that “Nohost has compatible type and volume mapping. Please select a compatiblehost.” If an incompatible host is nonetheless selected (block 360, FIG.4) for assignment to the selected host ports, the proposed assignment isrejected (block 364) as discussed above.

In the illustrated embodiment, additional tests may be performed (block356) in addition to the compatibility test described above. FIG. 4depicts an example of such an additional test which may be performedupon selection of a proposed assignment of selected host ports to aselected host. If the selected host was found (block 460) to becompatible with the selected host ports, a further determination (block464) may be made as to whether the selected host ports are all mapped tothe same volumes or groups of volumes. If not, the host port assignmentinterface may issue (block 470) a warning informational message providedby, for example, informational indicia 1210 (FIG. 12) which indicate tothe user that “The host port and host are mapped to different volumes.”The informational indicia 1210 may be provided by a pop-up window 1220,for example, overlaying the window 814. To increase the prominence ofthe warning information message of the indicia 1210, the window 1220 mayinclude for example, additional warning informational indicia 1224indicating the text “Warning” and an icon 1228 representing a warning.

In the illustrated embodiment, if the selected host ports are not allmapped to the same volume or volumes, the “Volume mappings will bemerged” as indicated by the warning informational message provided byinformational indicia 1210, if the user continues with the assignment.Accordingly, the host port assignment interface issues (block 474, FIG.4) an invitation to continue the assignment of the selected host portsto the selected host. In the embodiment of FIG. 12, the warninginformational message provided by informational indicia 1210 invites theuser to decide whether to continue with the text “Do you want tocontinue?” with the understanding that if the user decides to continuewith the assignment of the selected host ports to the selected host, thevolumes mappings will be merged.

If the host port assignment interface receives (block 480) an acceptanceof the invitation to continue, the host port assignment processcontinues to the operation represented by the block 368, FIG. 3,discussed below. In a similar manner, if it is determined (block 464)that the selected host ports are all mapped to the same volumes, thehost port assignment process continues to the operation represented bythe block 368, FIG. 3, discussed below.

To receive the user's instruction to complete the proposed assignmentnotwithstanding the merger warning, the host port assignment dialogpop-up window 1220 of the host port assignment GUI. includes an inputbutton 1232 having informational label indicia 1236 representing thetext “Yes.” By clicking on the “Yes” labeled input button 1232, the usersignals to the host port assignment interface the user's acceptance ofcontinuing the selected host port assignment process notwithstanding themerger warning, and the user's acceptance is received (block 480) by thehost port assignment interface.

Conversely, to receive the user's rejection of the invitation tocontinue due to the merger warning, the warning pop-up window 1220includes an input button 1242 having informational label indicia 1246representing the text “No.” By clicking on the “No” labeled input button1234, the user signals to the host port assignment interface the user'srejection of continuing the selected host port assignment process, andthe user's rejection is received (block 480) by the host port assignmentinterface. Alternatively, the user may click on the “X” window feature1252 to cancel the selected assignment process. If the host portassignment interface receives (block 480) a rejection of the invitationto continue, the host port assignment interface in this embodiment,rejects (block 364, FIG. 3) the proposed host port assignment and theuser is provided the opportunity to revise or select another host portassignment as discussed above.

Referring back to FIG. 3, if the proposed host port assignment passes(block 360) the tests discussed above, an informational message providedby informational indicia 1122 (FIG. 11), indicates that the two selectedhost ports (host ports, hostport1 and hostport2 in this example) will beassigned to the selected host which is host1 in this example. Inaddition, a virtual input button 1128 of the host port assignment pop-updialog window 814 becomes enabled for an input function of the host portassignment interface. More specifically, the user input button 1128becomes enabled to receive the user's instruction to the host portassignment interface to complete the assignment of the selected hostports to the selected host. The user input button 1128 of the host portassignment pop-up dialog window 814 has suitable label indicia 1132 suchas “Assign”, for example, to indicate to the user the process initiatedby activating the user input button 1128. In the embodiment of FIG. 11,such enablement of the input functions of the user input button 1128 isindicated by lack of greying out of the user input button 1128.

The host port assignment interface determines whether an instruction hasbeen received (block 368) to complete the assignment of the selectedhost ports to the selected host. The instruction to complete theassignment may be transmitted to the host port assignment interface bythe user clicking on the “Assign” input button 1128, in this example.Conversely, if the user decides not to complete the proposed host portassignment, the user may click on a “Cancel” input button 1136 havingsuitable informational text indicia 1142 such as the text “Cancel”, forexample, to indicate to the user the process initiated by activating theuser input button 1136. If the host port assignment interface receives(block 368, FIG. 3) an instruction to cancel rather than complete theproposed host port assignment, the proposed host port assignment isrejected (block 364) and the user is provided an opportunity to revisethe proposed host port assignment, or add additional hosts as describedabove.

Upon receipt (block 368) of an instruction to complete the proposedassignment sent by the user clicking on the enabled “Assign” inputbutton 1128, the host port assignment interface merges (block 372) thevolume mappings of the selected host ports (if the volume mappings ofthe selected host ports are not already the same), and assigns theselected host ports (host ports hostport1 and hostport2, in thisexample) to the selected host (host1 in this example). In addition, thehost ports which were assigned in response to the user's instruction areremoved (block 372) from the list of unassigned host ports since thosehost ports are no longer unassigned but are instead assigned to theselected host. The host port column 1118 in the host table of the window814 may be updated to indicate that 2 host ports have been assigned tohost host1. In addition, a host port column in a host table of the hostpage 514 may be updated to identify the host ports hostport1 andhostport2 as assigned to that host, host1.

A determination (block 376) is made by the host port assignmentinterface as to whether there are any remaining unassigned host ports.In this example, host ports hostport3 and hostport4 remain unassigned atthis stage. Accordingly, if unassigned host ports remain such as hostports hostport3 and hostport4, those remaining unassigned host ports aredisplayed (block 316) by the host port assignment interface. FIG. 13shows for example, the resultant display (block 320) of the list ofunassigned host ports after the host ports hostport1 and hostport2 havebeen removed from the list because they are now assigned to the hosthost1. Host ports hostport3 and hostport4 remain on the displayed listof unassigned ports because they were not assigned by the proposedassignment discussed above. The user is provided an opportunity in themanner discussed above to repeat the host port assignment process of thehost port assignment interface until no more unassigned host portsremain to be assigned. Once all host ports have been assigned, the hostport assignment interface terminates (block 380).

It is seen from the above that a storage management interface inaccordance with the present description, facilitates the entry ofstorage configuration data assigning unassigned host ports to a host.Other features and aspects may be realized, depending upon theparticular application.

A management interface in accordance with the present description may bea system, a method, and/or a computer program product, for example. Thecomputer program product may include a computer readable storage medium(or media) having computer readable program instructions thereon forcausing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The computational components of FIG. 1, including the hosts 100 andstorage servers may be implemented in one or more computer systems, suchas the computer system 1102 shown in FIG. 11. Computer system/server1102 may be described in the general context of computer systemexecutable instructions, such as program modules, being executed by acomputer system. Generally, program modules may include routines,programs, objects, components, logic, data structures, and so on thatperform particular tasks or implement particular abstract data types.Computer system/server 1102 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 14, the server 12 either alone or in combination withone or more of the hosts, in the form of a general-purpose computingdevice. or computer system 1402 employing a host port assignmentinterface of a management interface in accordance one aspect of thepresent description. The components of computer system/server 1402 mayinclude, but are not limited to, one or more processors or processingunits 1404, a system memory 1406, and a bus 1408 that couples varioussystem components including system memory 1406 to processor 1404. Bus1408 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Computer system/server 1402 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 1402, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 1406 can include computer system readable media in theform of volatile memory, such as random access memory (RAM) 1410 and/orcache memory 1412. Computer system/server 1402 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 1413 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 1408 by one or more datamedia interfaces. As will be further depicted and described below,memory 1406 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 1414, having a set (at least one) of program modules1416, may be stored in memory 1406 by way of example, and notlimitation, as well as an operating system, one or more applicationprograms, other program modules, and program data. Each of the operatingsystem, one or more application programs, other program modules, andprogram data or some combination thereof, may include an implementationof a networking environment. The components of the computer 1402 may beimplemented as program modules 1416 which generally carry out thefunctions and/or methodologies of embodiments of the descriptionprovided herein. The systems of FIG. 1 may be implemented in one or morecomputer systems 1402, where if they are implemented in multiplecomputer systems 1402, then the computer systems may communicate over anetwork.

Computer system/server 1402 may also communicate with one or moreexternal devices 1418 such as a keyboard, touch pad, touch screen, apointing device, a display 1420, etc.; one or more devices that enable auser to interact with computer system/server 1402; and/or any devices(e.g., network card, modem, etc.) that enable computer system/server1402 to communicate with one or more other computing devices. Suchcommunication can occur via Input/Output (I/O) interfaces 1422. Stillyet, computer system/server 1402 can communicate with one or morenetworks such as a local area network (LAN), a general wide area network(WAN), and/or a public network (e.g., the Internet) via network adapter1424. As depicted, network adapter 1424 communicates with the othercomponents of computer system/server 1402 via bus 1408. It should beunderstood that although not shown, other hardware and/or softwarecomponents could be used in conjunction with computer system/server1402. Examples, include, but are not limited to: microcode, devicedrivers, redundant processing units, external disk drive arrays, RAIDsystems, tape drives, and data archival storage systems, etc.

The reference characters used herein, such as i and n, are used hereinto denote a variable number of instances of an element, which mayrepresent the same or different values, and may represent the same ordifferent value when used with different or the same elements indifferent described instances.

The terms “an embodiment”, “embodiment”, “embodiments”, “theembodiment”, “the embodiments”, “one or more embodiments”, “someembodiments”, and “one embodiment” mean “one or more (but not all)embodiments of the present invention(s)” unless expressly specifiedotherwise.

The terms “including”, “comprising”, “having” and variations thereofmean “including but not limited to”, unless expressly specifiedotherwise.

The enumerated listing of items does not imply that any or all of theitems are mutually exclusive, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expresslyspecified otherwise.

Devices that are in communication with each other need not be incontinuous communication with each other, unless expressly specifiedotherwise. In addition, devices that are in communication with eachother may communicate directly or indirectly through one or moreintermediaries.

A description of an embodiment with several components in communicationwith each other does not imply that all such components are required. Onthe contrary a variety of optional components are described toillustrate the wide variety of possible embodiments of the presentinvention.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle or a different number of devices/articles may be used instead ofthe shown number of devices or programs. The functionality and/or thefeatures of a device may be alternatively embodied by one or more otherdevices which are not explicitly described as having suchfunctionality/features. Thus, other embodiments of the present inventionneed not include the device itself.

The foregoing description of various embodiments of the invention hasbeen presented for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseform disclosed. Many modifications and variations are possible in lightof the above teaching. It is intended that the scope of the invention belimited not by this detailed description, but rather by the claimsappended hereto. The above specification, examples and data provide acomplete description of the manufacture and use of the composition ofthe invention. Since many embodiments of the invention can be madewithout departing from the spirit and scope of the invention, theinvention resides in the claims herein after appended.

What is claimed is:
 1. A computer program product for providing astorage management interface to manage host ports in a computing systemhaving a server and one or more hosts, wherein the computer programproduct comprises a computer readable storage medium having programinstructions embodied therewith, the program instructions executable bya processor to cause operations, the operations comprising: maintainingdata structures for storing host port assignment configuration dataidentifying host ports in the server assigned to an associated host;detecting unassigned host ports which have not been identified as beingassigned to an associated host; generating a graphical user interface(GUI) page indicating unassigned host ports comprising at least one ofthe host ports not assigned to a host; receiving in the GUI page, userselection of at least one of the unassigned host ports indicated in theGUI page; receiving user selection of a host to assign to the selectedat least one of the unassigned host ports; and updating the datastructures for storing host port assignment configuration data toindicate the host assigned to the selected at least one of theunassigned host ports.
 2. The computer program product of claim 1,wherein the operations further comprise in response to the detectingunassigned host ports, inviting a user to assigned unassigned hostports.
 3. The computer program product of claim 2, wherein the invitinga user to assigned unassigned host ports includes generating a pop-upwindow to interrupt use of the storage management interface by the user,wherein the pop-up window includes display elements inviting the user toassign unassigned host ports and further includes input display elementsfor receiving the user's acceptance of the invitation.
 4. The computerprogram product of claim 2, wherein the operations further comprisegenerating a graphical user interface (GUI) page for managing hosts, andwherein the inviting a user to assigned unassigned host ports includesgenerating in response to the detecting unassigned host ports, a messageon the GUI page for managing hosts, wherein the message indicates thathost ports remain unassigned and invites a user to assigned unassignedhost ports.
 5. The computer program product of claim 1, wherein thegenerating the GUI page indicating unassigned host ports is generated inresponse to the detecting unassigned host ports.
 6. The computer programproduct of claim 1, wherein the generating the GUI page further includesgenerating the GUI page to indicate hosts currently identified in thecomputing system, and wherein the operations further comprise inresponse to receiving in the GUI page, user selection of at least one ofthe unassigned host ports indicated in the GUI page, inviting the userto identify an additional host.
 7. The computer program product of claim1 wherein the operations further comprise testing the received userselection of at least one of the unassigned host ports indicated in theGUI page, for compatibility with the received user selection of a hostto assign to the selected at least one of the unassigned host ports, andin response to a failure to pass the compatibility test, rejecting theassignment of the received user selection of at least one of theunassigned host ports indicated in the GUI page, to the received userselection of a host.
 8. The computer program product of claim 1 whereinstorage volumes are mapped to at least one of the unassigned host portsindicated in the GUI page, the operations further comprising determiningwhether the storage volumes mapped to a received user selection of aplurality of unassigned host ports indicated in the GUI page are thesame, and if not, issuing a warning message that mappings of storagevolumes to the received user selection of the plurality of unassignedhost ports indicated in the GUI page will be merged if the assignment tothe received user selection of a host, is completed.
 9. A system for usewith a host, comprising: a server having a processor and a plurality ofhost ports configurable for coupling the server to a host; and acomputer program product for providing a storage management interface tomanage host ports in the system, wherein the computer program productcomprises a computer readable storage medium having program instructionsembodied therewith, the program instructions executable by the processorto cause operations, the operations comprising: maintaining datastructures for storing host port assignment configuration dataidentifying host ports in the server assigned to an associated host;detecting unassigned host ports which have not been identified as beingassigned to an associated host; generating a graphical user interface(GUI) page indicating unassigned host ports comprising at least one ofthe host ports not assigned to a host; receiving in the GUI page, userselection of at least one of the unassigned host ports indicated in theGUI page; receiving user selection of a host to assign to the selectedat least one of the unassigned host ports; and updating the datastructures for storing host port assignment configuration data toindicate the host assigned to the selected at least one of theunassigned host ports.
 10. The system of claim 9, wherein the operationsfurther comprise in response to the detecting unassigned host ports,inviting a user to assigned unassigned host ports.
 11. The system ofclaim 10, wherein the inviting a user to assigned unassigned host portsincludes generating a pop-up window to interrupt use of the storagemanagement interface by the user, wherein the pop-up window includesdisplay elements inviting the user to assign unassigned host ports andfurther includes input display elements for receiving the user'sacceptance of the invitation.
 12. The system of claim 10, wherein theoperations further comprise generating a graphical user interface (GUI)page for managing hosts, and wherein the inviting a user to assignedunassigned host ports includes generating in response to the detectingunassigned host ports, a message on the GUI page for managing hosts,wherein the message indicates that host ports remain unassigned andinvites a user to assigned unassigned host ports.
 13. The system ofclaim 9, wherein the generating the GUI page indicating unassigned hostports is generated in response to the detecting unassigned host ports.14. The system of claim 9, wherein the generating the GUI page furtherincludes generating the GUI page to indicate hosts currently identifiedin the system, and wherein the operations further comprise in responseto receiving in the GUI page, user selection of at least one of theunassigned host ports indicated in the GUI page, inviting the user toidentify an additional host.
 15. The system of claim 9 wherein theoperations further comprise testing the received user selection of atleast one of the unassigned host ports indicated in the GUI page, forcompatibility with the received user selection of a host to assign tothe selected at least one of the unassigned host ports, and in responseto a failure to pass the compatibility test, rejecting the assignment ofthe received user selection of at least one of the unassigned host portsindicated in the GUI page, to the received user selection of a host. 16.The system of claim 9 further comprising storage volumes controlled bythe server wherein the storage volumes are mapped to at least one of theunassigned host ports indicated in the GUI page, the operations furthercomprising determining whether the storage volumes mapped to a receiveduser selection of a plurality of unassigned host ports indicated in theGUI page are the same, and if not, issuing a warning message thatmappings of storage volumes to the received user selection of theplurality of unassigned host ports indicated in the GUI page will bemerged if the assignment to the received user selection of a host, iscompleted.
 17. A method, comprising: providing a storage managementinterface to manage host ports in a computing system, said providingcomprising: maintaining data structures for storing host port assignmentconfiguration data identifying host ports in a server assigned to anassociated host; detecting unassigned host ports which have not beenidentified as being assigned to an associated host; generating agraphical user interface (GUI) page indicating unassigned host portscomprising at least one of the host ports not assigned to a host;receiving in the GUI page, user selection of at least one of theunassigned host ports indicated in the GUI page; receiving userselection of a host to assign to the selected at least one of theunassigned host ports; and updating the data structures for storing hostport assignment configuration data to indicate the host assigned to theselected at least one of the unassigned host ports.
 18. The method ofclaim 17, wherein the providing further comprises in response to thedetecting unassigned host ports, inviting a user to assigned unassignedhost ports.
 19. The method of claim 18, wherein the inviting a user toassigned unassigned host ports includes generating a pop-up window tointerrupt use of the storage management interface by the user, whereinthe pop-up window includes display elements inviting the user to assignunassigned host ports and further includes input display elements forreceiving the user's acceptance of the invitation.
 20. The method ofclaim 18, wherein the providing further comprises generating a graphicaluser interface (GUI) page for managing hosts, and wherein the inviting auser to assigned unassigned host ports includes generating in responseto the detecting unassigned host ports, a message on the GUI page formanaging hosts, wherein the message indicates that host ports remainunassigned and invites a user to assigned unassigned host ports.
 21. Themethod of claim 17, wherein the generating the GUI page indicatingunassigned host ports is generated in response to the detectingunassigned host ports.
 22. The method of claim 17, wherein thegenerating the GUI page further includes generating the GUI page toindicate hosts currently identified in the computing system, and whereinthe operations further comprise in response to receiving in the GUIpage, user selection of at least one of the unassigned host portsindicated in the GUI page, inviting the user to identify an additionalhost.
 23. The method of claim 17 wherein the providing further comprisestesting the received user selection of at least one of the unassignedhost ports indicated in the GUI page, for compatibility with thereceived user selection of a host to assign to the selected at least oneof the unassigned host ports, and in response to a failure to pass thecompatibility test, rejecting the assignment of the received userselection of at least one of the unassigned host ports indicated in theGUI page, to the received user selection of a host.
 24. The method ofclaim 17 wherein storage volumes are mapped to at least one of theunassigned host ports indicated in the GUI page, and wherein theproviding further comprises determining whether the storage volumesmapped to a received user selection of a plurality of unassigned hostports indicated in the GUI page are the same, and if not, issuing awarning message that mappings of storage volumes to the received userselection of the plurality of unassigned host ports indicated in the GUIpage will be merged if the assignment to the received user selection ofa host, is completed.